package com.softserveinc.autorent.controller;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import com.softserveinc.autorent.manager.CarEJB;
import com.softserveinc.autorent.model.Car;



@ManagedBean
@RequestScoped
public class CarMB implements Serializable {
	
	private static final long serialVersionUID = -2334356922125449183L;
	
	@EJB
	private CarEJB carEJB;
	private List<Car> list = new ArrayList<Car>();
	private Car car = new Car();

	public List<Car> getList() {			   	    			
		return findAll();
	}

	public List<Car> findById(int id) {			
    	list = carEJB.findById(id);    			
		return list;
	}
	
	public List<Car> findAll() {			
    	list = carEJB.findAll();    			
		return list;
	}
	
	public List<Car> findAllByCarModelId(int id) {			
    	list = carEJB.findAllByCarModelId(id);    			
		return list;
	}

	public List<Car> findAllByCarStatus(String status) {			
    	list = carEJB.findAllByCarStatus(status);    			
		return list;
	}
	public List<Car> findAllByCarVendorId(int id) {			
    	list = carEJB.findAllByCarVendorId(id);    			
		return list;
	}	
	
	public String doDelete(int id)
	{
		System.out.println("Try to delete car id="+id);
		if (list.size() > 0)
		{
			carEJB.delete(id);
		}
		return null;//"car_list.xhtml?faces-redirect=true";
	}
/*Функция выбирает объект для его редактирования*/	
	public String doChoose(int id)
	{	
		System.out.println("Try to choose vendor id="+id);		
		if (list.size() > 0)
		{
			for (Car car : list) {
				if (car.getId() == id)
				this.car = car;
			}
		}
		return "edit_car.xhtml?faces-redirect=true";// - убирает сессию, здесь надо передать данные
	}
	
		

	public String doUpdate(int id)
	{//пока на работает - не передается объект

		car.setId(id);
		carEJB.update(car);		
		return "car_list.xhtml?faces-redirect=true";		
	}
	
	public String doCreate()
	{	
		carEJB.create(car);	
		return "car_list.xhtml?faces-redirect=true";
	}	
	
	public Car getCar() {
		return car;
	}
	
	public void setCar(Car car) {
		this.car = car;
	}
	
	public void setList(List<Car> list) {
		this.list = list;
	}		
}
